package com.ssyx.cart.service;

import com.ssyx.model.order.CartInfo;

import java.util.List;

/**
 * ClassName:CartService
 * Description:
 *
 * @Author kay
 * @Create 2024/5/19 16:27
 * @Version 1.0
 */
public interface CartInfoService {
    //添加商品到购物车
    void addToCart(Long userId, Long skuId, Integer skuNum);

    //根据skuId,删除购物车中对应的商品sku
    void deleteSkuInCart(Long skuId, Long userId);

    //清空购物车
    void deleteAllCart(Long userId);

    //批量删除购物车商品
    void batchDeleteCart(List<Long> skuIdList, Long userId);

    //购物车列表
    List<CartInfo> getCartList(Long userId);

    //更新购物车单个商品项的选中状态
    void checkCart(Long userId, Integer isChecked, Long skuId);

    //更新购物车全选状态
    void checkAllCart(Long userId, Integer isChecked);

    //修改购物车中批量商品项的选中状态
    void batchCheckCart(List<Long> skuIdList, Long userId, Integer isChecked);

    //根据用户id得到,购物车中被选中的商品项列表
    List<CartInfo> getCartCheckedList(Long userId);

    //删除购物车中,被选中的商品
    Boolean removeCartChecked();
}
